#include "cheminlab.h"

int main(int argc, char **argv){

    int largeur     ,
        hauteur     ,
        i,j         ,
        pixelsize=1 ;

    char *fichier=NULL ,
         options=0     ;

    srand(time(NULL));

    for(i=1 ; i<argc ; i++){
        j=0;
        while(argv[i][j]!='\0') j++;
        if(!strcmp(argv[i],"-v")){
            options=1;
        }else if(!strcmp(argv[i],"--help")){
            printf("Usage : ./cheminlab [-v] 'fichier'\n");
            return 1;
        }else if(argv[i][0]!='-'){
            fichier = argv[i];
        }
    }
    if(fichier==NULL){
        printf("Usage : ./cheminlab [-v] 'fichier'\n");
        return 1;
    }

    Mat *laby = NULL;
    laby = MatLit(fichier);

    largeur=laby->l;
    hauteur=laby->h;

    if(largeur<=250 && hauteur <=200) 
        pixelsize=4;
    else if(largeur<=300 && hauteur<=250) 
        pixelsize=3;
    else if(largeur<=500 && hauteur<=400) 
        pixelsize=2;
    else 
        pixelsize=1;

    if(options){
        initgraph(largeur*pixelsize,hauteur*pixelsize);
        cleargraph();
        setcolor(0);
    }

    if(options){
        MatPrint(laby,pixelsize);
        refresh();
        flushgraph();
    }

    Ens solution = ResoudreLaby(laby,options,pixelsize);    


    if(options){
        setcolor(getcolor(255,0,0));
        couple ctemp;

        while(!EnsEstVide(solution)){
            ctemp=EnsTirage(solution);
            PrintPixel(ctemp.x,ctemp.y,pixelsize);
        }

        refresh();
        flushgraph();
        waitgraph();
    }

    MatFree(laby);
    EnsFree(solution);

    return 0;
}
